【例子介绍】解决DWR整合SpringBoot后,SpringBoot项目无法使用内置Tomcat以JAR形式运行的问题,修改源码中关于资源加载的相关源码。
【相关图片】
【源码结构】
.
└── DWR3.0.2-RELEASE修改版源码
└── dwr-src
├── META-INF
│ ├── MANIFEST.MF
│ ├── dwr.tld
│ ├── spring.handlers
│ └── spring.schemas
├── dwr-version.properties
└── org
└── directwebremoting
├── AjaxFilter.java
├── AjaxFilterChain.java
├── Browser.java
├── Container.java
├── ConversionException.java
├── Hub.java
├── HubFactory.java
├── ScriptBuffer.java
├── ScriptSession.java
├── ScriptSessionFilter.java
├── ScriptSessions.java
├── Security.java
├── ServerContext.java
├── ServerContextFactory.java
├── TestMethods.java
├── WebContext.java
├── WebContextFactory.java
├── annotations
│ ├── AnnotationsConfigurator.java
│ ├── Auth.java
│ ├── DataTransferObject.java
│ ├── Filter.java
│ ├── Filters.java
│ ├── GlobalFilter.java
│ ├── Param.java
│ ├── RemoteMethod.java
│ ├── RemoteProperty.java
│ ├── RemoteProxy.java
│ ├── ScriptScope.java
│ └── package-info.java
├── beehive
│ └── PageFlowCreator.java
├── convert
│ ├── ArrayConverter.java
│ ├── BasicObjectConverter.java
│ ├── BeanConverter.java
│ ├── BigNumberConverter.java
│ ├── CharArrayConverter.java
│ ├── CollectionConverter.java
│ ├── ConstructorConverter.java
│ ├── ContextConverter.java
│ ├── CurrencyConverter.java
│ ├── DOM4JConverter.java
│ ├── DOMConverter.java
│ ├── DateConverter.java
│ ├── EnumConverter.java
│ ├── ExceptionConverter.java
│ ├── FileConverter.java
│ ├── JDOMConverter.java
│ ├── JavascriptFunctionConverter.java
│ ├── JavascriptObjectConverter.java
│ ├── LocalDateTimeConverter.java
│ ├── LocaleConverter.java
│ ├── MapConverter.java
│ ├── MinimalistExceptionConverter.java
│ ├── NullConverter.java
│ ├── ObjectConverter.java
│ ├── PrimitiveConverter.java
│ ├── ProxyInterfaceConverter.java
│ ├── RawConverter.java
│ ├── ServletConverter.java
│ ├── StringConverter.java
│ ├── StringEnumAbstractBaseConverter.java
│ ├── StringWrapperConverter.java
│ ├── URIConverter.java
│ ├── URLConverter.java
│ ├── XOMConverter.java
│ └── XmlBeanConverter.java
├── copyright.txt
├── create
│ ├── NewCreator.java
│ ├── NullCreator.java
│ ├── ScriptedCreator.java
│ └── StaticCreator.java
├── datasync
│ ├── AbstractPerXStoreProvider.java
│ ├── AbstractStoreProvider.java
│ ├── AttributeValueExtractor.java
│ ├── ComparatorFactory.java
│ ├── DefaultComparatorFactory.java
│ ├── Directory.java
│ ├── ExposeToString.java
│ ├── MapStoreProvider.java
│ ├── PerHttpSessionStoreProvider.java
│ ├── PerScriptSessionStoreProvider.java
│ ├── PojoAttributeValueExtractor.java
│ ├── SortCriteriaComparator.java
│ ├── SqlStoreProvider.java
│ ├── StoreProvider.java
│ └── StoreProviderFactory.java
├── defaults.properties
├── dwr-bayeux.js
├── dwr.xml
├── dwr10.dtd
├── dwr20.dtd
├── dwr20.xsd
├── dwr30.dtd
├── dwr30.xsd
├── dwrp
│ ├── BaseCallHandler.java
│ ├── BaseDwrpHandler.java
│ ├── BasePollHandler.java
│ ├── BaseScriptConduit.java
│ ├── Batch.java
│ ├── CallBatch.java
│ ├── CommonsFileUpload.java
│ ├── FileUpload.java
│ ├── HtmlCallHandler.java
│ ├── HtmlPollHandler.java
│ ├── HtmlScriptConduit.java
│ ├── PartialResponse.java
│ ├── PlainCallHandler.java
│ ├── PlainPollHandler.java
│ ├── PlainScriptConduit.java
│ ├── PollBatch.java
│ └── UnsupportedFileUpload.java
├── engine.js
├── event
│ ├── DefaultMessageEvent.java
│ ├── MessageEvent.java
│ ├── MessageListener.java
│ ├── ScriptSessionBindingEvent.java
│ ├── ScriptSessionBindingListener.java
│ ├── ScriptSessionEvent.java
│ ├── ScriptSessionListener.java
│ └── SessionProgressListener.java
├── export
│ ├── Data.java
│ └── System.java
├── extend
│ ├── AbstractConverter.java
│ ├── AbstractCreator.java
│ ├── AccessControl.java
│ ├── AccessDeniedException.java
│ ├── AjaxFilterManager.java
│ ├── Alarm.java
│ ├── AllScriptSessionFilter.java
│ ├── AndScriptSessionFilter.java
│ ├── ArrayOutboundVariable.java
│ ├── Builder.java
│ ├── Call.java
│ ├── CallbackHelper.java
│ ├── CallbackHelperFactory.java
│ ├── Calls.java
│ ├── Compressor.java
│ ├── Configurator.java
│ ├── ConstructorProperty.java
│ ├── ContainerAbstraction.java
│ ├── ContainerConfigurationException.java
│ ├── ContainerUtil.java
│ ├── ConvertUtil.java
│ ├── Converter.java
│ ├── ConverterManager.java
│ ├── Creator.java
│ ├── CreatorManager.java
│ ├── DataUrlDownloadManager.java
│ ├── DebugPageGenerator.java
│ ├── DefaultJavascriptFunction.java
│ ├── DefaultJavascriptObject.java
│ ├── DownloadManager.java
│ ├── DwrConstants.java
│ ├── EnginePrivate.java
│ ├── ErrorOutboundVariable.java
│ ├── Factory.java
│ ├── FieldProperty.java
│ ├── FormField.java
│ ├── Handler.java
│ ├── IdGenerator.java
│ ├── IdScriptSessionFilter.java
│ ├── InboundContext.java
│ ├── InboundVariable.java
│ ├── InitializingBean.java
│ ├── InputStreamFactoryOutputStreamLoader.java
│ ├── JsonModeMarshallException.java
│ ├── MarshallException.java
│ ├── MethodDeclaration.java
│ ├── Module.java
│ ├── ModuleManager.java
│ ├── NamedConverter.java
│ ├── NestedOutboundVariable.java
│ ├── NestedProperty.java
│ ├── NonNestedOutboundVariable.java
│ ├── ObjectOutboundVariable.java
│ ├── OutboundContext.java
│ ├── OutboundVariable.java
│ ├── OutputStreamLoaderInputStreamFactory.java
│ ├── OverrideProperty.java
│ ├── PageNormalizer.java
│ ├── PageScriptSessionFilter.java
│ ├── ParameterProperty.java
│ ├── PlainProperty.java
│ ├── Property.java
│ ├── PropertyDescriptorProperty.java
│ ├── ProtocolConstants.java
│ ├── RealRawData.java
│ ├── RealScriptSession.java
│ ├── RealWebContext.java
│ ├── Remoter.java
│ ├── Replies.java
│ ├── Reply.java
│ ├── ScriptBufferUtil.java
│ ├── ScriptConduit.java
│ ├── ScriptSessionManager.java
│ ├── ServerException.java
│ ├── ServerLoadMonitor.java
│ ├── SimpleInputStreamFactory.java
│ ├── Sleeper.java
│ ├── TaskDispatcher.java
│ ├── TaskDispatcherFactory.java
│ ├── UninitializingBean.java
│ ├── WaitController.java
│ └── package-info.java
├── filter
│ ├── ActionTimeoutAjaxFilter.java
│ └── ExtraLatencyAjaxFilter.java
├── guice
│ ├── AbstractDwrGuiceServletContextListener.java
│ ├── AbstractDwrModule.java
│ ├── ApplicationScoped.java
│ ├── Converting.java
│ ├── ConvertingImpl.java
│ ├── CustomInjectorServletContextListener.java
│ ├── Dwr.java
│ ├── DwrGuiceServlet.java
│ ├── DwrGuiceServletContextListener.java
│ ├── DwrGuiceServletModule.java
│ ├── DwrGuiceUtil.java
│ ├── DwrScopes.java
│ ├── Filtering.java
│ ├── FilteringImpl.java
│ ├── GlobalApplicationScoped.java
│ ├── GuiceCreator.java
│ ├── InitParam.java
│ ├── InitParamImpl.java
│ ├── InjectedConfig.java
│ ├── InternalAjaxFilter.java
│ ├── InternalAjaxFilterManager.java
│ ├── InternalConfigurator.java
│ ├── InternalConverter.java
│ ├── InternalConverterManager.java
│ ├── InternalCreator.java
│ ├── InternalCreatorManager.java
│ ├── ParamName.java
│ ├── Remoted.java
│ ├── RemotedImpl.java
│ ├── RequestParameters.java
│ ├── RequestScoped.java
│ ├── ScriptSessionScoped.java
│ ├── SessionScoped.java
│ ├── package-info.java
│ ├── spring
│ │ ├── BeanFactoryLoader.java
│ │ ├── CloseableBeanFactoryProvider.java
│ │ ├── SpringModule.java
│ │ ├── WebApplicationContextLoader.java
│ │ └── package-info.java
│ └── util
│ ├── AbstractContextCloseHandler.java
│ ├── AbstractContextScope.java
│ ├── AbstractMapContextScope.java
│ ├── AbstractModule.java
│ ├── AbstractSimpleContextScope.java
│ ├── ContextCloseHandler.java
│ ├── ContextCloseHandlers.java
│ ├── ContextRegistry.java
│ ├── ContextScope.java
│ ├── DeclaredBy.java
│ ├── ExceptionLoggingCloseableHandler.java
│ ├── FutureTaskProvider.java
│ ├── InjectingMethodInterceptor.java
│ ├── InstanceMap.java
│ ├── InstanceMapImpl.java
│ ├── InstanceProvider.java
│ ├── MethodInterceptorWrapper.java
│ ├── Numbered.java
│ ├── NumberedImpl.java
│ ├── Numbers.java
│ ├── OutOfScopeException.java
│ ├── OutermostCallInterceptor.java
│ ├── Providers.java
│ └── package-info.java
├── help.html
├── hibernate
│ ├── H3BeanConverter.java
│ ├── H3PropertyDescriptorProperty.java
│ └── H3SessionAjaxFilter.java
├── impl
│ ├── AbstractContainer.java
│ ├── AbstractServerLoadMonitor.java
│ ├── AccessLogLevel.java
│ ├── AutoShutdownScheduledThreadPoolExecutor.java
│ ├── BaseSleeper.java
│ ├── ContainerMap.java
│ ├── CreatorModule.java
│ ├── CreatorModuleManager.java
│ ├── DTDEntityResolver.java
│ ├── DaemonThreadFactory.java
│ ├── DefaultAccessControl.java
│ ├── DefaultAjaxFilterManager.java
│ ├── DefaultBuilder.java
│ ├── DefaultCallbackHelper.java
│ ├── DefaultCallbackHelperBuilder.java
│ ├── DefaultContainer.java
│ ├── DefaultConverterManager.java
│ ├── DefaultCreatorManager.java
│ ├── DefaultDebugPageGenerator.java
│ ├── DefaultHub.java
│ ├── DefaultHubBuilder.java
│ ├── DefaultPageNormalizer.java
│ ├── DefaultRemoter.java
│ ├── DefaultScriptSession.java
│ ├── DefaultScriptSessionManager.java
│ ├── DefaultSecureIdGenerator.java
│ ├── DefaultServerContext.java
│ ├── DefaultServerContextBuilder.java
│ ├── DefaultServerLoadMonitor.java
│ ├── DefaultTaskDispatcher.java
│ ├── DefaultTaskDispatcherBuilder.java
│ ├── DefaultWebContext.java
│ ├── DefaultWebContextBuilder.java
│ ├── DwrXmlConfigurator.java
│ ├── ExportUtil.java
│ ├── FileStoreDownloadManager.java
│ ├── InMemoryDownloadManager.java
│ ├── LegacyCompressor.java
│ ├── LoginRequiredException.java
│ ├── MasterModuleManager.java
│ ├── NullCompressor.java
│ ├── PollingServerLoadMonitor.java
│ ├── PurgingDownloadManager.java
│ ├── ShrinkSafeCompressor.java
│ ├── ShutdownAlarm.java
│ ├── SignatureParser.java
│ ├── StartupUtil.java
│ ├── TestEnvironment.java
│ ├── ThreadWaitSleeper.java
│ ├── ThrottlingServerLoadMonitor.java
│ ├── TimedAlarm.java
│ ├── TransientScriptSessionManager.java
│ └── YahooJSCompressor.java
├── io
│ ├── Context.java
│ ├── DwrConvertedException.java
│ ├── FileTransfer.java
│ ├── InputStreamFactory.java
│ ├── Item.java
│ ├── ItemUpdate.java
│ ├── JavascriptFunction.java
│ ├── JavascriptObject.java
│ ├── MatchedItems.java
│ ├── OutputStreamLoader.java
│ ├── QueryOptions.java
│ ├── RawData.java
│ ├── SortCriterion.java
│ ├── StoreChangeListener.java
│ ├── StoreRegion.java
│ └── StringWrapper.java
├── jms
│ ├── BlockingMessageListener.java
│ ├── DwrConnection.java
│ ├── DwrConnectionFactory.java
│ ├── DwrConnectionMetaData.java
│ ├── DwrDestination.java
│ ├── DwrMessage.java
│ ├── DwrMessageConsumer.java
│ ├── DwrMessageProducer.java
│ ├── DwrSession.java
│ ├── DwrTopic.java
│ ├── State.java
│ └── Unsupported.java
├── json
│ ├── InvalidJsonException.java
│ ├── JsonUtil.java
│ ├── parse
│ │ ├── JsonDecoder.java
│ │ ├── JsonParseException.java
│ │ ├── JsonParser.java
│ │ ├── JsonParserFactory.java
│ │ ├── impl
│ │ │ ├── ConverterJsonDecoder.java
│ │ │ ├── DebuggingJsonDecoder.java
│ │ │ ├── IgnoreJsonDecoder.java
│ │ │ ├── ReflectionJsonDecoder.java
│ │ │ ├── SimpleJsonDecoder.java
│ │ │ └── StatefulJsonDecoder.java
│ │ └── javacc
│ │ └── JavaccJsonParserBuilder.java
│ ├── serialize
│ │ ├── JsonSerializer.java
│ │ ├── JsonSerializerFactory.java
│ │ └── local
│ │ ├── LocalJsonSerializer.java
│ │ └── LocalJsonSerializerBuilder.java
│ └── types
│ ├── JsonArray.java
│ ├── JsonBoolean.java
│ ├── JsonNull.java
│ ├── JsonNumber.java
│ ├── JsonObject.java
│ ├── JsonString.java
│ ├── JsonValue.java
│ └── package-info.java
├── jsonp
│ ├── JsonpCallException.java
│ └── JsonpCallHandler.java
├── jsonrpc
│ ├── JsonRpcCallHandler.java
│ ├── JsonRpcConstants.java
│ └── io
│ ├── JsonRpcCallException.java
│ ├── JsonRpcCalls.java
│ ├── JsonRpcCallsJsonDecoder.java
│ ├── JsonRpcError.java
│ └── JsonRpcResponse.java
├── jsp
│ └── ConvertTag.java
├── package-info.java
├── proxy
│ ├── ScriptProxy.java
│ ├── dwr
│ │ ├── Engine.java
│ │ └── Util.java
│ └── scriptaculous
│ └── Effect.java
├── server
│ ├── jetty
│ │ ├── JettyContinuationContainerAbstraction.java
│ │ └── JettyContinuationSleeper.java
│ ├── servlet2
│ │ └── Servlet24ContainerAbstraction.java
│ └── servlet3
│ ├── Servlet30ContainerAbstraction.java
│ └── Servlet30Sleeper.java
├── servlet
│ ├── AboutHandler.java
│ ├── AmdDtoHandler.java
│ ├── AmdEngineHandler.java
│ ├── AmdInterfaceHandler.java
│ ├── AmdModule.java
│ ├── BaseDtoAllHandler.java
│ ├── BaseDtoHandler.java
│ ├── BaseEngineHandler.java
│ ├── BaseInterfaceHandler.java
│ ├── BaseModule.java
│ ├── CachingHandler.java
│ ├── DojoDtoAllHandler.java
│ ├── DojoDtoHandler.java
│ ├── DojoEngineHandler.java
│ ├── DojoInterfaceHandler.java
│ ├── DojoModule.java
│ ├── DownloadHandler.java
│ ├── DtoAllHandler.java
│ ├── DtoHandler.java
│ ├── DwrListener.java
│ ├── DwrServlet.java
│ ├── DwrWebContextFilter.java
│ ├── EngineHandler.java
│ ├── ExceptionHandler.java
│ ├── FileJavaScriptHandler.java
│ ├── GeneratedJavaScriptHandler.java
│ ├── HttpConstants.java
│ ├── IndexHandler.java
│ ├── InterfaceHandler.java
│ ├── JavaScriptHandler.java
│ ├── NotFoundHandler.java
│ ├── PathConstants.java
│ ├── PublicPeriodCacheableResponse.java
│ ├── PublicRevalidatingResponse.java
│ ├── ResponseHandler.java
│ ├── TemplateHandler.java
│ ├── TestHandler.java
│ ├── UncacheableResponse.java
│ ├── UncacheableUntransformableResponse.java
│ └── UrlProcessor.java
├── spring
│ ├── AbstractConfig.java
│ ├── BeanCreator.java
│ ├── ConverterConfig.java
│ ├── CreatorConfig.java
│ ├── DwrAnnotationPostProcessor.java
│ ├── DwrClassPathBeanDefinitionScanner.java
│ ├── DwrController.java
│ ├── DwrHandlerMapping.java
│ ├── DwrSpringNamespaceHandler.java
│ ├── DwrSpringServlet.java
│ ├── SpringConfigurator.java
│ ├── SpringContainer.java
│ ├── SpringCreator.java
│ ├── namespace
│ │ ├── AnnotationConfigParser.java
│ │ ├── AnnotationScannerParser.java
│ │ ├── ConfigurationParser.java
│ │ ├── ControllerParser.java
│ │ ├── ConverterDecorator.java
│ │ ├── ConverterParserHelper.java
│ │ ├── CreatorParserHelper.java
│ │ ├── FilterDecorator.java
│ │ ├── FilterParserHelper.java
│ │ ├── InitDecorator.java
│ │ ├── NamespaceParserHelper.java
│ │ ├── ProxyParser.java
│ │ ├── RemoteDecorator.java
│ │ ├── SignatureDecorator.java
│ │ └── UrlMappingParser.java
│ ├── spring-dwr-2.0.xsd
│ └── spring-dwr-3.0.xsd
├── struts
│ └── StrutsCreator.java
├── ui
│ ├── Callback.java
│ ├── CodeBlock.java
│ ├── ScriptProxy.java
│ ├── browser
│ │ ├── Document.java
│ │ └── Window.java
│ ├── dwr
│ │ ├── Engine.java
│ │ └── Util.java
│ └── servlet
│ ├── AmdUtilHandler.java
│ ├── BaseUtilHandler.java
│ ├── DojoUtilHandler.java
│ ├── UtilHandler.java
│ └── util.js
├── util
│ ├── Base64.java
│ ├── BrowserDetect.java
│ ├── ClasspathScanner.java
│ ├── CommonsLoggingOutput.java
│ ├── CompareUtil.java
│ ├── CopyUtils.java
│ ├── DebuggingPrintWriter.java
│ ├── DelegatingServletInputStream.java
│ ├── DelegatingServletOutputStream.java
│ ├── DomUtil.java
│ ├── EmptyEntityResolver.java
│ ├── FakeHttpServletRequest.java
│ ├── FakeHttpServletRequestFactory.java
│ ├── FakeHttpServletRequestObject24.java
│ ├── FakeHttpServletResponse.java
│ ├── FakeHttpSession.java
│ ├── FakeRequestDispatcher.java
│ ├── FakeServletConfig.java
│ ├── FakeServletContextFactory.java
│ ├── FakeServletContextObject24.java
│ ├── HitMonitor.java
│ ├── JavascriptUtil.java
│ ├── LocalUtil.java
│ ├── LogErrorHandler.java
│ ├── Logger.java
│ ├── Loggers.java
│ ├── LoggingOutput.java
│ ├── MethodMatchingProxyFactory.java
│ ├── MimeConstants.java
│ ├── Pair.java
│ ├── ServletLoggingOutput.java
│ ├── SwallowingHttpServletResponse.java
│ ├── SystemOutLoggingOutput.java
│ ├── UserAgent.java
│ ├── VersionUtil.java
│ └── WriterOutputStream.java
└── webwork
├── ActionDefinition.java
├── AjaxDataResult.java
├── AjaxResult.java
├── AjaxTextResult.java
├── DWRAction.java
├── DWRActionUtil.js
├── DefaultAjaxDataResult.java
├── DefaultAjaxTextResult.java
├── IDWRActionProcessor.java
└── WebworkUtilHandler.java
50 directories, 532 files
评论